package com.zhuiYun.project.api.syslog.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 正常日志实体模型层
 * @auther zcy
 * @data 2023/3/22 13:35
 */
@Data
@ApiModel("日志模型")
public class SysLogModel implements Serializable {

    /**
     * 主键id
     */
    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;
    /**
     * 模块
     */
    @ApiModelProperty("模块")
    private String modular;
    /**
     * 类型
     */
    @ApiModelProperty("类型")
    private String type;
    /**
     * 详情
     */
    @ApiModelProperty("详情")
    private String detail;
    /**
     * 方法
     */
    @ApiModelProperty("方法")
    private String method;
    /**
     * 请求参数
     */
    @ApiModelProperty("请求参数")
    private String requestParam;
    /**
     * 响应参数
     */
    @ApiModelProperty("响应参数")
    private String responseParam;
    /**
     * 用户id
     */
    @NotBlank(message = "用户名id不能为空")
    @ApiModelProperty("用户id")
    private String userId;
    /**
     * 操作用户
     */
    @NotBlank(message = "操作用户不能为空")
    @ApiModelProperty("操作用户")
    private String userName;
    /**
     * ip地址
     */
    @ApiModelProperty("ip地址")
    private String ip;
    /**
     * 操作uri
     */
    @ApiModelProperty("操作uri")
    private String uri;
    /**
     * 增加日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    @ApiModelProperty("增加日期")
    private Date createTime;

    /**
     * 开始时间
     */
    @ApiModelProperty("开始时间")
    private String startTime;
    /**
     * 结束时间
     */
    @ApiModelProperty("结束时间")
    private String endTime;
    /**
     * 项目版本
     */
    @ApiModelProperty("项目版本")
    private String version;


}
